namespace AF.Models
{
    /// <summary>
    /// 项目模型
    /// </summary>
    public class Project
    {
        public int Id { get; set; }
        
        /// <summary>
        /// 项目名称
        /// </summary>
        public string Name { get; set; } = string.Empty;
        
        /// <summary>
        /// 项目描述
        /// </summary>
        public string Description { get; set; } = string.Empty;
        
        /// <summary>
        /// 客户名称
        /// </summary>
        public string? ClientName { get; set; }
        
        /// <summary>
        /// 项目预算
        /// </summary>
        public decimal? Budget { get; set; }
        
        /// <summary>
        /// 项目状态
        /// </summary>
        public ProjectStatus Status { get; set; }
        
        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTime StartDate { get; set; }
        
        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime? EndDate { get; set; }
        
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedAt { get; set; }
        
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdatedAt { get; set; }
        
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
    }
    
    /// <summary>
    /// 项目状态枚举
    /// </summary>
    public enum ProjectStatus
    {
        /// <summary>
        /// 进行中
        /// </summary>
        InProgress = 0,
        
        /// <summary>
        /// 已完成
        /// </summary>
        Completed = 1,
        
        /// <summary>
        /// 已暂停
        /// </summary>
        Paused = 2,
        
        /// <summary>
        /// 已取消
        /// </summary>
        Cancelled = 3
    }
}

